/*----------------------------------------------------------------------------
Owner(s): Shane Whitfield
$Copyright: $
$Id: 

Purpose  : Model
----------------------------------------------------------------------------*/

#pragma once

#include "bbmath.h"

/*--------------------------------------------------------------------------*/
//  Forward declarations
class CGo;
class CTexture;

/*--------------------------------------------------------------------------*/
//  Class CModel declaration.
class CModel
{

public:
	
					CModel(const CGo* i_owningGo);
	
	virtual void	Render();
	virtual void	Update();
	virtual bool	IsPointWithin(const Vector2f& i_pos);
	
	void			SetTexture(const char* i_textureName);
	float			GetBoundingRadius() const {
						return m_boundingRadius; }
	void			SetBoundingRadius(float i_radius) {
						m_boundingRadius = i_radius; }
	void			SetColor(const Color4f& i_color) {
						m_color = i_color; } 
	Color4f			GetColor() const {
						return m_color; } 
	void			SetAlpha(float i_alpha) {
						m_color.a = i_alpha; }
	
private:

	Color4f			m_color;
	const CGo*		m_owningGo;
	float			m_boundingRadius;
	const CTexture* m_texture;
};

/*-----------------------------------EOF!-----------------------------------*/
